export default {
    namespaced: true,
    state: {
        //是否显示提示框
        isShowToast: false,
        //提示内容
        toastMsg: "我是vue提示内容",
        //提示类型-图标（success danger,warning）
        toastType: "warning"
    },
    mutations: {
        //控制提示框显示状态
        changeIsShowToast(state, payload) {
            state.isShowToast = payload.isshow;
            if (payload.isshow) {
                state.toastMsg = payload.title;
                state.toastType = payload.type;
            }
            //只要显示了提示框，都自动关了
            //但是mutations只能写同步代码。
            //写一个actions方法，实现自动关闭。
            // setTimeout(() => {
            //     this.changeIsShowToast({
            //       isShow: false,
            //     });
            //   }, 2000);
        }
    },
    actions: {
        //可以写异步代码，跟mutations类型，不能直接修改数据，提交数据到mutitions修改
        asyncShowToast(context, payload) {
            // 显示提示框
            context.commit("changeIsShowToast", payload);
            // 自动关闭提示框
            setTimeout(() => {
                context.commit("changeIsShowToast", {
                    isshow: false,
                })
            }, 2000);
        }
    }
}